<?php

class LaporansController extends \BaseController {

	/**
	 * Display Laporan Penduduk.
	 */
	public function laporanpenduduk()
	{
		$agamas = Agama::where('is_active', '1')->orderBy('nama','ASC')->lists('nama', 'id');
		$pendidikans = Pendidikan::where('is_active', '1')->orderBy('nama','ASC')->lists('nama', 'id');
		$jenispekerjaans = JenisPekerjaan::where('is_active', '1')->orderBy('nama','ASC')->lists('nama', 'id');

		return View::make('laporan.laporanpenduduk')
						->with(compact('agamas'))
						->with(compact('pendidikans'))
						->with(compact('jenispekerjaans'));
	}

	public function datatableLaporanPenduduks()
	{
		$penduduks = DB::table('penduduks')    					    					
    					->join('jenis_pekerjaans', 'penduduks.jenis_pekerjaan_id', '=', 'jenis_pekerjaans.id')
    					->join('status_keluargas', 'penduduks.status_keluarga_id', '=', 'status_keluargas.id')
    					->join('agamas', 'penduduks.agama_id', '=', 'agamas.id')
    					->join('pendidikans', 'penduduks.pendidikan_id', '=', 'pendidikans.id')
    					->select(array(
    						'penduduks.id',
    						'penduduks.nik',
    						'penduduks.no_kk',
    						'penduduks.nama',
    						DB::raw('YEAR(CURDATE())-YEAR(tanggal_lahir) AS umur'),
    						'penduduks.jenis_kelamin',
    						'penduduks.golongan_darah',
    						'penduduks.status_kawin',
    						'penduduks.is_lokal',
    						'agamas.nama AS agama',
    						'jenis_pekerjaans.nama AS jenis_pekerjaan',
    						'pendidikans.nama AS pendidikan'
    						));

		if(Input::get('fl_nik') != "") {
  		$penduduks = $penduduks->where('penduduks.nik', 'LIKE', '%'.Input::get('fl_nik').'%');
  	}
  	if(Input::get('fl_no_kk') != "") {
  		$penduduks = $penduduks->where('penduduks.no_kk', 'LIKE', '%'.Input::get('fl_no_kk').'%');	
  	}
		if(Input::get('fl_nama') != "") {
  		$penduduks = $penduduks->where('penduduks.nama', 'LIKE', '%'.Input::get('fl_nama').'%');
  	}
  	if(Input::get('fl_jk') != "") {
  		$penduduks = $penduduks->where('penduduks.jenis_kelamin', '=', Input::get('fl_jk'));
  	}
  	if(Input::get('fl_gol') != "") {
  		$penduduks = $penduduks->where('penduduks.golongan_darah', '=', Input::get('fl_gol'));
  	}
  	if(Input::get('fl_kawin') != "") {
  		$penduduks = $penduduks->where('penduduks.status_kawin', '=', Input::get('fl_kawin'));
  	}
  	if(Input::get('fl_lokal') != "") {
  		$penduduks = $penduduks->where('penduduks.is_lokal', '=', Input::get('fl_lokal'));
  	}
    if(Input::get('fl_umur_awal') != "") {
      $penduduks = $penduduks->where(DB::raw('YEAR(CURDATE())-YEAR(tanggal_lahir)'), '>=', Input::get('fl_umur_awal'));
    }
    if(Input::get('fl_umur_akhir') != "") {
      $penduduks = $penduduks->where(DB::raw('YEAR(CURDATE())-YEAR(tanggal_lahir)'), '<=', Input::get('fl_umur_akhir'));
    }
  	if(Input::get('fl_agama') != "") {
      $agama_array = Input::get('fl_agama');
      $agama_array = explode(',', $agama_array);
      $penduduks = $penduduks->whereIn('penduduks.agama_id', $agama_array);
    }
  	if(Input::get('fl_pekerjaan') != "") {
      $jenis_pekerjaan_array = Input::get('fl_pekerjaan');
      $jenis_pekerjaan_array = explode(',', $jenis_pekerjaan_array);
      $penduduks = $penduduks->whereIn('penduduks.jenis_pekerjaan_id', $jenis_pekerjaan_array);
  	}
  	if(Input::get('fl_pendidikan') != "") {
      $pendidikan_array = Input::get('fl_pendidikan');
      $pendidikan_array = explode(',', $pendidikan_array);
      $penduduks = $penduduks->whereIn('penduduks.pendidikan_id', $pendidikan_array);
    }
  	$penduduks = $penduduks->where('penduduks.is_active', '=', '1')->orderBy('penduduks.nama','ASC');

		return Datatables::of($penduduks)
		->add_column('operations', '<div class="btn-group">
										<a href="{{ URL::route(\'penduduks.show\', $id) }}" class="btn btn-default btn-tooltip" data-toggle="tooltip" data-placement="top" data-original-title="Detail"><i class="fa fa-list text-success"></i></a>
									</div>')
		->edit_column('is_lokal', '{{ $is_lokal == 1 ? "Lokal" : "Dinas" }}')
		->make();
	}


	/**
	 * Display Laporan Kipem.
	 */
	public function laporankipem()
	{
    $agamas = Agama::where('is_active', '1')->orderBy('nama','ASC')->lists('nama', 'id');
    $pendidikans = Pendidikan::where('is_active', '1')->orderBy('nama','ASC')->lists('nama', 'id');
    $jenispekerjaans = JenisPekerjaan::where('is_active', '1')->orderBy('nama','ASC')->lists('nama', 'id');

    return View::make('laporan.laporankipem')
            ->with(compact('agamas'))
            ->with(compact('pendidikans'))
            ->with(compact('jenispekerjaans'));
  }

  public function datatableLaporanKipems()
  {
    $kipems = DB::table('kipems')
              ->join('jenis_pekerjaans', 'kipems.jenis_pekerjaan_id', '=', 'jenis_pekerjaans.id')
              ->join('agamas', 'kipems.agama_id', '=', 'agamas.id')
              ->leftJoin('pendidikans', 'kipems.pendidikan_id', '=', 'pendidikans.id')
              ->join('lokasis', 'kipems.lokasi_id', '=', 'lokasis.id')
              ->select(array(
                'kipems.id',
                'kipems.no_ktp',
                'kipems.nama',
                DB::raw('YEAR(CURDATE())-YEAR(kipems.tanggal_lahir) AS umur'),
                'kipems.jenis_kelamin',
                'kipems.golongan_darah',
                'kipems.status_kawin',
                'agamas.nama AS agama',
                'jenis_pekerjaans.nama AS jenis_pekerjaan',
                'pendidikans.nama AS pendidikan',
                'lokasis.nama AS lokasi'
                ));

    if(Input::get('fl_no_ktp') != "") {
      $kipems = $kipems->where('kipems.no_ktp', '=', Input::get('fl_no_ktp'));  
    }
    if(Input::get('fl_nama') != "") {
      $kipems = $kipems->where('kipems.nama', 'LIKE', '%'.Input::get('fl_nama').'%');
    }
    if(Input::get('fl_jk') != "") {
      $kipems = $kipems->where('kipems.jenis_kelamin', '=', Input::get('fl_jk'));
    }
    if(Input::get('fl_gol') != "") {
      $kipems = $kipems->where('kipems.golongan_darah', '=', Input::get('fl_gol'));
    }
    if(Input::get('fl_agama') != "") {
      $agama_array = Input::get('fl_agama');
      $agama_array = explode(',', $agama_array);
      $kipems = $kipems->whereIn('kipems.agama_id', $agama_array);
    }
    if(Input::get('fl_pekerjaan') != "") {
      $jenis_pekerjaan_array = Input::get('fl_pekerjaan');
      $jenis_pekerjaan_array = explode(',', $jenis_pekerjaan_array);
      $kipems = $kipems->whereIn('kipems.jenis_pekerjaan_id', $jenis_pekerjaan_array);
    }
    if(Input::get('fl_pendidikan') != "") {
      $pendidikan_array = Input::get('fl_pendidikan');
      $pendidikan_array = explode(',', $pendidikan_array);
      $kipems = $kipems->whereIn('kipems.pendidikan_id', $pendidikan_array);
    }
    if(Input::get('fl_kawin') != "") {
      $kipems = $kipems->where('kipems.status_kawin', '=', Input::get('fl_kawin'));
    }
    if(Input::get('fl_lokasi') != "") {
      $kipems = $kipems->where('lokasis.nama', 'LIKE', '%'.Input::get('fl_lokasi').'%');
    }
    if(Input::get('fl_umur_awal') != "") {
      $kipems = $kipems->where(DB::raw('YEAR(CURDATE())-YEAR(kipems.tanggal_lahir)'), '>=', Input::get('fl_umur_awal'));
    }
    if(Input::get('fl_umur_akhir') != "") {
      $kipems = $kipems->where(DB::raw('YEAR(CURDATE())-YEAR(kipems.tanggal_lahir)'), '<=', Input::get('fl_umur_akhir'));
    }
    $kipems = $kipems->where('kipems.is_active', '=', '1')->orderBy('kipems.nama','ASC');

    return Datatables::of($kipems)
    ->add_column('operations', '<div class="btn-group">
                    <a href="{{ URL::route(\'kipems.show\', $id) }}" class="btn btn-default btn-tooltip" data-toggle="tooltip" data-placement="top" data-original-title="Detail"><i class="fa fa-list text-success"></i></a>
                  </div>')
    ->edit_column('jenis_kelamin', '{{ $jenis_kelamin == "L" ? "Laki-laki" : "Perempuan" }}')
    ->make();
  }
}